-module(tester).

-define(EXPORT_PREFIX,"-define(wooper_method_export,").
-define(EXPORT_SUFFIX,").").
-define(METHOD_ARITY,1).
-define(COMPILER_OPTIONS,[]).

-include("../tester.hrl").

switch_class(Class) ->
    ok.%my_delete_module(Class).

call_method(Object, Method) ->
     Object ! {Method,[],self()},
     receive
        {wooper_result,Res} ->
            {ok, Res};
        {wooper_method_not_found, Object, _, Method, 1, []} ->
            method_not_found
     after
        500 ->
            timeout
     end.

create_object(alpha) ->
    class_Alpha:synchronous_new(1,2);
create_object(beta) ->
    class_Beta:synchronous_new(1,2, 3);
create_object(gamma) ->
    class_Gamma:synchronous_new(1,2, 3).

get_class_module(alpha) ->
    class_Alpha;
get_class_module(beta) ->
    class_Beta;
get_class_module(gamma) ->
    class_Gamma.